package com.yanfan.visitor.domain;

import java.util.Date;

import lombok.Data;

import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yanfan.common.annotation.Excel;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.FieldFill;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 访客记录信息对象 ibms_visitor_info
 *
 * @author mzp
 * @date 2024-08-26
 */

@Data
public class IbmsVisitorInfo implements Serializable{

private static final long serialVersionUID=1L;

    /**
     * 访客记录ID
     */
    @Excel(name = "访客记录ID")
    @TableId(value = "ID" , type = IdType.AUTO) // 整型类型使用自增
    private Long id;

    /**
     * 访客姓名
     */
    @Excel(name = "访客姓名")
    @NotBlank(message = "访客姓名不能为空")
    private String visitorName;

    /**
     * 访客原因
     */
    @Excel(name = "访客原因")
    @NotBlank(message = "访客原因不能为空")
    private String visitorContact;

    /**
     * 访客时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "访客时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @NotNull(message = "访客时间不能为空")
    private Date visitDate;

    /**
     * 访客名单类型
     */
    @Excel(name = "访客名单类型")
    @NotNull(message = "访客名单类型不能为空")
    private Long listTypeid;

    /**
     * 记录人员名称
     */
    @Excel(name = "记录人员名称")
    @NotBlank(message = "记录人员名称不能为空")
    private String noteKeeper;

    /**
     * 记录时间
     */
    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "记录时间" , width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    @NotNull(message = "记录时间不能为空")
    private Date recordingTime;

    /**
     * 关联设备ID
     */
    @Excel(name = "关联设备ID")
    @NotNull(message = "关联设备ID不能为空")
    private Long deviceId;


}
